using System;
using System.Collections.Generic;
using System.Text;
using ElteIk.RoboSoccer.Core;
using ElteIk.RoboSoccer.Core.Physics;

namespace ElteIk.RoboSoccer.Graphics
{
    public class GraphicsEngine
    {
		protected SoccerGame game;

		public GraphicsEngine(SoccerGame game)
		{
			if (game == null)
			{
				throw new ArgumentNullException("game", "You must specify a SoccerGame to render.");
			}

			this.game = game;
		}

		public virtual void Update()
		{
		}

        public virtual void SelectRobot(RobotPlayer robot)
        {
        }

        protected virtual void DrawField(SoccerField field)
		{
		}
		protected virtual void DrawPolygon(Polygon polygon)
		{
		}
		protected virtual void DrawBall(Ball ball)
		{
		}

        public virtual void Resize()
        {
        }
        
        public virtual void ChangeTeamPatch(int teamId, string imageFilename)
        {
        }
    }
}
